package main

import (
	"fmt"
	"sync"
)

func consumer(msg chan int) {
	defer wg.Done()
	fmt.Println(<-msg)
}

var wg sync.WaitGroup

func main() {
	var msg chan int
	msg = make(chan int)
	wg.Add(1)
	go consumer(msg)
	msg <- 1 // 放数据到msg 中的时候会阻塞，阻塞之前会获取一把锁，肯定是要等到数据消费后，锁才释放

	wg.Wait()

}
